<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>console</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="/static/assets/layui/css/layui.css" rel="stylesheet">
    <link href="/static/assets/backstage/layui/res/adminui/css/admin.css" rel="stylesheet">
</head>
<body>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">FLY-NEXT-ADMIN (请详细阅读)</div>
                <div class="layui-card-body">
                    基于 JDK17 开发的基础康佳系统，易读易懂，界面简洁美观。核心技术SpringBoot、MyBatis、SpringSecurity等，没有任何其他重度依赖，直接运行即可用，开箱即用。
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">软件架构</div>
                <div class="layui-card-body">
                    后端：SpringBoot、MyBatis、SpringSecurity、TkMapper<br>
                    前端：LayUI、JQuery、Thymeleaf、LayuiAdmin<br>
                    数据库：MySQL 8.0<br>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">环境参数</div>
                <div class="layui-card-body">
                    开发工具: IDEA 2021.2<br>
                    操作系统: Windows 10<br>
                    编程语言: Java<br>
                    运行环境: JDK 17<br>
                    数据库: MySQL 8.0
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">技术要求</div>
                <div class="layui-card-body">
                    1、 Java 体系基础知识<br>
                    2、 能够熟练应用 Spring / SpringBoot / MyBatis 框架<br>
                    3、 数据库 SQL 语句基础<br>
                    4、 具有一定的前端基础( html / css / js / jquery )<br>
                    5、 熟练使用 Maven<br>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">项目结构</div>
                <div class="layui-card-body">
                    fly-next-platform<br>
                    ├── fly-next-admin -- 后端项目启动模块<br>
                    ├── fly-next-api -- 接口启动模块<br>
                    └── fly-next-server -- 业务编写模块<br>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">内置功能</div>
                <div class="layui-card-body">
                    1、部门管理: 配置系统组织机构（公司、部门、小组）。<br>
                    2、用户管理: 用户是系统操作者，该功能主要完成系统用户配置, 用户角色权限配置。<br>
                    3、角色管理：角色菜单权限分配、设置角色范围权限划分。<br>
                    4、菜单管理：配置系统菜单，操作权限，按钮权限标识等。<br>
                    5、字典管理：对系统中经常使用的一些较为固定的数据进行维护。<br>
                    6、应用管理: 多应用情况下，对多系统维护。<br>
                    7、服务器监控: 监视当前系统CPU、内存、磁盘、堆栈等相关信息。<br>
                    8、操作日志: 系统正常操作日志记录和查询。<br>
                    9、代码生成器: 前后端代码的生成（java、html、xml、sql）支持CRUD下载。<br>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">项目安全配置(项目默认配置即可)</div>
                <div class="layui-card-body">
                    1、项目安全配置文件地址: com.github.itdachen.security.properties.SecurityBrowserProperties。<br>
                    2、安全配置前缀: spring.security.browser。<br>
                    3、SpringSecurity 安全配置地址: com.github.itdachen.security.SecurityBrowserConfig。<br>
                    4、关于短信验证登录, 编写 java 类, 实现 SmsCodeSender 接口, 对接对象的短信发送平台即可。默认验证码打印在控制台( 向手机 132xxxxxxxx 发送短信验证码:
                    xxxxxx )<br>
                    5、常用配置如下(如果需要修改安全框架接口, 建议熟悉 SpringSecurity 5.7.x 版本之后修改)<br>
                    <pre class="layui-code" lay-options="{ln: false, skin: 'dark'}">
spring:
  security:
    browser:
      signInPage: /login   # 登录页面地址
      signOutUrl: /login   # 退出登录后跳转地址
      successForwardUrl: /index    # 登录成功之后, 后台管理模板
      # 不需要认证的路径
      matchers:
        - /             # 网站首页
        - /open/**      # 网站首页开放接口
        - /website/**   # 网站开放页面
      session:
        sessionInvalidUrl: /login  # session 过期跳转路径

  # 默认配置为存 Redis, 单机版打开下面配置
  session:
    store-type: NONE
      </pre>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">全局获取当前登录用户信息</div>
                <div class="layui-card-body">
                    1、获取当前登录账号: BizContextHandler.getAccount()。<br>
                    2、获取当前用户ID: BizContextHandler.getUserId()。<br>
                    3、获取当前登录用户姓名: BizContextHandler.getNickName()。<br>
                    4、获取当前登录用户头像: BizContextHandler.getAvatar()。<br>
                    5、获取当前登录用户类型: BizContextHandler.getUserType()。<br>
                    6、获取当前登录用户部门ID: BizContextHandler.getDeptId()。<br>
                    7、更多相信请查看 fly-context 模块下 com.github.itdachen.framework.context.BizContextHandler 类型
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">通过注解的方式获取当前登录用户信息</div>
                <div class="layui-card-body">
                    1、Controller 方法添加参数注解: @CurrentUser<br>
                    2、添加请求参数数据类型 CurrentUserDetails <br>
                    示例代码如下: <br>
                    <pre class="layui-code" lay-options="{ln: false, skin: 'dark'}">
    @GetMapping("/test/user/info")
    @ResponseBody
    public ServerResponse< CurrentUserDetails > getCurrentUser(@CurrentUser CurrentUserDetails info) throws ClientTokenException {
        return ServerResponse.okData(info);
    }
                    </pre>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">文件上传配置</div>
                <div class="layui-card-body">
                    本地文件上传<br>
                    &nbsp;&nbsp;&nbsp;&nbsp; 文件访问地址: oss.localHttp; 默认配置: http://127.0.0.1:8080<br>
                    &nbsp;&nbsp;&nbsp;&nbsp; 文件在服务器上存储地址: oss.diskFolder; 默认配置: /home/oss/<br>
                    <pre class="layui-code" lay-options="{ln: false, skin: 'dark'}">
oss:
  localHttp: http://127.0.0.1:8080
  diskFolder: D:/upload/
                    </pre>
                    3、更多配置<br>
                    更多配置见 fly-file 模块下 com.github.itdachen.framework.file.properties.LocalCloudStorageProperties 目录下配置文件
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">数据库链接加密</div>
                <div class="layui-card-body">
                    1、连接池加密配置: NONE(不加密), AES加密(推荐), DES加密<br>
                    2、不加密配置: 不用配置或在配置文件中添加配置 config.datasource.encoder=NONE<br>
                    3、AES加密配置: 配置文件中添加 config.datasource.encoder=AES<br>
                    4、DES加密配置: 配置文件中添加 config.datasource.encoder=DES<br>
                    5、数据库连接加密项: url、username、password<br>
                    <pre class="layui-code" lay-options="{ln: false, skin: 'dark'}">
config:
  datasource:
    encoder: AES
                    </pre>
                </div>
            </div>
        </div>

        <div class="layui-row layui-col-space15">
            <div class="layui-card">
                <div class="layui-card-header">短信验证码发送和图形验证码重写</div>
                <div class="layui-card-body">
                    1、短信验证码发送: 实现 com.github.itdachen.security.validate.code.sms.SmsCodeSender 接口中 send() 方法即可<br>
                    2、重写图形验证码: 实现 com.github.itdachen.security.validate.code.ValidateCodeGenerator 接口中 generate() 方法即可<br>
                    3、关于验证码存取: 实现 com.github.itdachen.security.validate.code.repository.ValidateCodeRepository 接口中的方法即可<br>
                </div>
            </div>
        </div>

    </div>
</div>

<script src="/static/assets/layui/layui.js?t=1"></script>
<script>
    layui.config({
        base: '/static/assets/backstage/layui/res/' // 静态资源所在路径
    }).use(['index', 'console']);
</script>
</body>
</html>

